import mitt from 'mitt'

// 定义事件类型枚举
export enum EventTypes {
  TestFn = 'testFn' // 示例事件
}

type Events = {
  [EventTypes.TestFn]: { data: any } // 示例事件
}

/*
  使用方法：
  import { eventBus, EventTypes } from '@/utils/eventBus'
  1. 发送事件：eventBus.emit(EventTypes.TestFn, { data: 'some data' })
  2. 接收事件：eventBus.on(EventTypes.TestFn, (data) => { console.log('Received data:', data) })
  3. 移除事件：eventBus.off(EventTypes.TestFn)
*/
export const eventBus = mitt<Events>()